package guida.ccf.gzuexaminesystem.service;

import guida.ccf.gzuexaminesystem.common.ResponseResult;
import guida.ccf.gzuexaminesystem.dto.StudentSaveFileDto;
import guida.ccf.gzuexaminesystem.entity.StudentAward;
import com.baomidou.mybatisplus.extension.service.IService;
import guida.ccf.gzuexaminesystem.entity.minio.DeleteFileDto;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ccf
 * @since 2023-11-03
 */
public interface StudentAwardService extends IService<StudentAward> {

    /**
     * 学生上传文件
     */
    ResponseResult<?> saveFile(StudentSaveFileDto testDTO, MultipartFile[] files, String[] md5s);

    /**
     * 学生获取自己的文件
     */
    String getFile(String studentBucket, String folder, String fileName, String md5, HttpServletResponse response);

//    /**
//     * 学生删除自己的文件
//     */
//    ResponseResult<?> deleteFileAll(List<DeleteFileDto> list);

    /**
     * 学生获取自己的审核中的获奖记录
     * @param studentId 学号
     * @return 返回结果.
     */
    ResponseResult<?> getUnderReviewAward(String studentId);


    /**
     * 学生获取自己的审核成功的获奖记录
     * @param studentId 学号
     * @return 返回结果.
     */
    ResponseResult<?> getReviewAwardPassed(String studentId);

    /**
     * 学生获取自己的审核失败的获奖记录
     * @param studentId 学号
     * @return 返回结果.
     */
    ResponseResult<?> getReviewAwardFailed(String studentId);
}
